package com.smmisia.article.utils;

import java.util.ArrayList;
import java.util.List;

public class ListToStringUtil {

    /**
     * 将List<T>转换为以逗号分隔的字符串
     *
     * @param list 需要转换的List
     * @param <T>  泛型类型
     * @return 以逗号分隔的字符串，如果List为空或为null，返回空字符串
     */
    public static <T> String convertListToString(List<T> list) {
        if (list == null || list.isEmpty()) {
            return "";
        }

        StringBuilder sb = new StringBuilder();
        for (T element : list) {
            sb.append(element).append(",");
        }

        // 去掉最后一个多余的逗号
        return sb.substring(0, sb.length() - 1);
    }

    /**
     * 将以逗号分隔的字符串转换为List<T>
     * @param str
     * @return
     * @param <T>
     */
    public static <T> List<T> convertStringToList(String str) {
        if (str == null || str.isEmpty()) {
            return null;
        }

        String[] strArray = str.split(",");
        List<T> list = new ArrayList<>();
        for (String s : strArray) {
            list.add((T) s);
        }

        return list;
    }
}
